<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<style>
    /* div {
    width: 250px;
    height: 250px;
} */
</style>

<body>
    <div>我是一个粉刷匠</div>
    <div>我是一个粉刷匠</div>
    <div>我是一个粉刷匠</div>
    <div>我是一个粉刷匠</div>
    <div>我是一个粉刷匠</div>
    <script>
        (function (window, undefined) {
            var jQuery = function (selector) {
                return new jQuery.fn.init(selector);
            }
            //原型替换
            jQuery.fn = jQuery.prototype = {
                constructor: jQuery,
                init: function (selector) {
                    var elements = document.querySelectorAll(selector);
                    [].push.apply(this, elements);
                },
                css: function (name, value) {
                    console.log(name, value)
                    // 设置单个，实参数目是两个
                    if (arguments.length === 2) {
                        for (var i = 0; i < this.length; i++) {
                            console.log(this[i])
                            this[i].style[name] = value
                        }
                    } else if (arguments.length === 1) {
                        //设置多个样式
                        if (typeof name === "object") {
                            for (var i = 0; i < this.length; i++) {
                                for (var k in name) {
                                    this[i].style[k] = name[k];
                                }
                            }
                        } else if (typeof name === "string") {
                            return window.getComputedStyle(this[0], null)[name]
                        }
                    }
                    return this;
                },
                addClass: function (name) {
                    //给元素添加类名
                    for (var i = 0; i < this.length; i++) {
                        this[i].classList.add(name);
                    }
                    return this;
                },
                removeClass: function (name) {
                    //删除类名
                    for (var i = 0; i < this.length; i++) {
                        this[i].classList.remove(name);
                    }
                    return this;
                },
                hasClass: function (name) {
                    for (var i = 0; i < this.length; i++) {
                        if (this[i].classList.contains(name)) {
                            return true;
                        }
                    }
                    return false;
                },
                toggleClass: function (name) {
                    for (var i = 0; i < this.length; i++) {
                        if (this[i].classList.contains(name)) {
                            this[i].classList.remove(name);
                        } else {
                            this[i].classList.add(name);
                        }
                    }
                    return this;
                }
            }
            //修改init的原型对象为jQuery原型对象 
            jQuery.fn.init.prototype = jQuery.fn;
            window.jQuery = window.$ = jQuery;
        })(window)
        var $divs = $("div");
        console.log($divs);

        $divs.css({
            "color": "red",
            fontSize: "12px",
            backgroundColor: "grey"
        }).css("height", "200px")
            // $divs.html();

$divs.addClass("aa").addClass("bb").addClass("cc");
$divs.removeClass("aa");
$divs.toggleClass("bb")
    </script>
</body>

</html>